Field of the Disclosure
The present disclosure relates to communication networks, and more specifically, to object-oriented network virtualization.
Description of the Related Art
As more applications are provided as networked services (referred to as “cloud applications”) from data center infrastructure (referred to as “the cloud”), the cloud applications are executed on shared physical infrastructure and may be viewed as “tenants” in a multi-tenant cloud. For example, the cloud may represent distributed datacenter infrastructure that includes computing resources and intra-datacenter networks inside each datacenter, along with inter-datacenter optical networks connecting geographically dispersed datacenters. Virtualization of computing resources has emerged as a key technology for the cloud and may enable multiple tenants to efficiently share both computing and network resources. The standard abstraction architecture in virtualization of computing resources involves virtual machines (VMs) executing on a hypervisor. An abstraction may be a representation of an entity that is selected in terms of particular criteria or characteristics, while other characteristics irrelevant to the selection criteria are hidden or summarized. As used herein, a “virtualization” may represent an abstraction whose selection criterion is dedication of resources to a particular client or application.
Software-defined networking (SDN) represents an important step towards network virtualization and abstraction and may allow for a logical network entity to be instantiated automatically using software instructions, rather than manually from user input. In this manner, SDN may enable flexible definition of virtual networks. For example, using the OpenFlow communications protocol managed by The Open Network Foundation (ONF), a traffic flow entity may be instantiated using an arbitrary combination of layer identifiers defined in a header space. OpenFlow may use various combinations of traffic identifiers (Internet-protocol (IP) addresses, media access controller (MAC) addresses, port addresses, etc.) at various layers to define a traffic flow. Then, by installing and configuring packet-forwarding rules associated with the traffic flow to physical switches, an OpenFlow controller may ensure that the traffic flow entity instantiates a path that is routed through a network including the physical switches.
In a somewhat similar manner to a VM executing on a hypervisor, OpenFlow's FlowVisor may instantiate a virtual network entity (referred to as a “slice”) by associating multiple traffic flow entities with a given slice, whereby each slice is managed by a separate tenant controller, allowing the tenant to control over a portion of network traffic and a subset of the physical network. In OpenFlow, multiple flowspaces may be defined for each network switch. Each flowspace may be associated with a slice, which in turn is managed by a separate controller. FlowVisor may ensure that actions in one slice do not affect another by intercepting and rewriting OpenFlow messages.
However, SDN in general (and OpenFlow in particular) may not provide a desired level of abstraction for certain network resources. For example, SDN may define properties for a logical network entity, but may not allow for the logical network entity to have its own behaviors. Due to the centralized control architecture typically used with SDN, the behaviors of a logical network entity (such as packet-forwarding rules) may be externally controlled by a SDN controller and not by the logical network entity itself. By analogy to virtualization, the instantiation of a logical network entity in SDN may allocate network resources to the logical network entity (similar to creating a VM), while preventing the logical network entity from independently launching processing functionality (analogous to forcing each computing task of each VM to be launched externally from the hypervisor). Thus, the instantiation of logical network entities may be associated with scalability challenges using SDN. Certain limitations of SDN may further be observed for introducing circuit-oriented control and optical layer constraints, among other examples. Thus, more efficient and scalable solutions than SDN may be desired to support numerous concurrent virtual network entities with a wide variety of abstractions, while allowing each virtual network to execute highly-flexible and speedy control logic on its own network slice.